import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IPetRentPrx } from "./IPetRentPrx";
import { AMI_IPetRent_borrowPet } from "./AMI_IPetRent_borrowPet";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IPetRent_changeRentPrice } from "./AMI_IPetRent_changeRentPrice";
import { AMI_IPetRent_getEarnMoney } from "./AMI_IPetRent_getEarnMoney";
import { AMI_IPetRent_getMyRents } from "./AMI_IPetRent_getMyRents";
import { AMI_IPetRent_getPetRentLog } from "./AMI_IPetRent_getPetRentLog";
import { AMI_IPetRent_petRentDetailInfo } from "./AMI_IPetRent_petRentDetailInfo";
import { AMI_IPetRent_rentPet } from "./AMI_IPetRent_rentPet";
import { AMI_IPetRent_search } from "./AMI_IPetRent_search";
type int = number;
//class IPetRentPrxHelper
    
    export  class IPetRentPrxHelper extends RMIProxyObject implements IPetRentPrx
    {
        constructor()
        {
            
            super();name = "IPetRent";
            return;
        }

        public borrowPet_async(arg1: AMI_IPetRent_borrowPet, arg2: number, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("borrowPet");
            var loc3;
            (loc3 = new SerializeStream()).writeLong(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public changeRentPrice_async(arg1: AMI_IPetRent_changeRentPrice, arg2: string, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("changeRentPrice");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getEarnMoney_async(arg1: AMI_IPetRent_getEarnMoney): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getEarnMoney");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMyRents_async(arg1: AMI_IPetRent_getMyRents): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMyRents");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getPetRentLog_async(arg1: AMI_IPetRent_getPetRentLog): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getPetRentLog");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public petRentDetailInfo_async(arg1: AMI_IPetRent_petRentDetailInfo, arg2: number): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("petRentDetailInfo");
            var loc3;
            (loc3 = new SerializeStream()).writeLong(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public rentPet_async(arg1: AMI_IPetRent_rentPet, arg2: string, arg3: int, arg4: int, arg5: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("rentPet");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            loc3.writeInt(arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public search_async(arg1: AMI_IPetRent_search, arg2: int, arg3: int, arg4: int, arg5: int, arg6: Boolean, arg7: Boolean, arg8: Boolean, arg9: int, arg10: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("search");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            loc3.writeInt(arg5);
            loc3.writeBool(arg6);
            loc3.writeBool(arg7);
            loc3.writeBool(arg8);
            loc3.writeInt(arg9);
            loc3.writeInt(arg10);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IPetRent";
    }
